package conservare.web;

import java.io.Serializable;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.ExternalContext;
import javax.faces.context.FacesContext;

import conservare.modelo.Usuario;
import conservare.negocio.UsuarioRN;

@ManagedBean
@SessionScoped
public class ContextoBean implements Serializable{

	private static final long serialVersionUID = 8150435000865416289L;
	
	private Usuario usuarioLogado;
	
	public Usuario getUsuarioLogado(){
		FacesContext context = FacesContext.getCurrentInstance();
		ExternalContext external = context.getExternalContext();
		String login = external.getRemoteUser();
		if(this.usuarioLogado == null || !login.equals(usuarioLogado.getLogin())){
			if(login != null){
				UsuarioRN usuarionRN = new UsuarioRN();
				this.usuarioLogado = usuarionRN.carregarByLogin(login);
			}
		}
		return this.usuarioLogado;
	}
	
	public void setUsuarioLogado(Usuario usuario){
		this.usuarioLogado = usuario;
	}
	
	public boolean isUsuarioEstaLogado(){
		return getUsuarioLogado() != null;
	}
}
